home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
SPACE 1
/
SPACE - Library 1 - Volume 1.iso
/
telecomm
/
576
/
document
/
rufus_en.txt
< prev
next >
Wrap
Text File
|
1992-05-22
|
57KB
|
1,653 lines
RRRRRR UU UU FFFFFFFFF UU UU SSSSSSSS
RR RR UU UU FF UU UU SS
RR RR UU UU FF UU UU SS
RR RR UU UU FF UU UU SSSS
RRRRRR UU UU FFFFFFF UU UU SSSS
RR RR UU UU FF UU UU SS
RR RR UU UU FF UU UU SS
RR RR UUUUUUU FF UUUUUUU SSSSSSSS
Version 1.02 [v. 1.06 notes added]
Universal Communication Software
Copyright © 1990 by Michael Bernards
[English Translation © 1992 by \/apourware PLC, for Michael Bernards]
[Note: While all care was taken to insure proper translation of the text,
\/apourware, its employees and representatives cannot be held responsible
for any errors in this translation, or the original document used. All
possible efforts will be made to correct any errors which \/apourware is
notified of. Notification will be posted of the errors, and corrections,
at the original point(s) this document is made available.
This document is provided to allow your use and enjoyment of RUFUS. We
make no warranty of any type reguarding the suitability of RUFUS for the
activities you desire to attempt to use it to perform. We cannot be held
liable for any losses you incur in your use of RUFUS.
In other words, use at your own risk!!
M_Kg.
Mark Kelling -- \/apourware PLC
21 Mar. 1992 version 1.6C
]
- i -
Table of Contents
Chapter 1
Introduction 1
1.1 What does RUFUS do? 1
1.2 A Few Words about the Shareware Concept 2
1.3 Computer Configuration 2
1.4 The Manual 2
1.5 Packing List 3
1.6 Installation 3
1.6.1 GDOS - "Was ist das?" 4
Chapter 2
An Overview 5
2.1 Menus 5
2.2 Dialogs 5
2.3 Window 5
Chapter 3
The Menus 6
3.1 The 'Files' Menu 6
3.1.1 INF load... 6
3.1.2 INF write... 6
3.1.3 EXecute Program... 6
3.1.4 Shell Access 6
3.1.5 Batch Start... 6
3.1.6 Do Batch Command 7
3.1.7 Quit 7
3.2 The 'Block' Menu 7
3.2.1 Block Save... 7
3.2.2 Block Send 7
3.2.3 Copy Block to Clipboard 7
3.3 The 'Transfer' Menu 7
3.3.1 File Send... 7
3.3.2 File Receive... 7
3.3.3 ASCII File Send 8
3.3.4 Buffer load... 8
3.3.5 Buffer Save 8
3.4 The 'Parameter' Menu 8
3.4.1 RS232 8
3.4.2 Terminal 8
3.4.3 Protocal 9
3.4.4 Modem 10
3.4.5 F Keys 10
3.4.6 Numbers 10
3.4.7 Buffer 11
3.4.8 Set Fontz 11
3.4.9 Paths 12
3.5 The "POP-UP" Menu 12
Chapter 4
Terminal Emulation 13
4.1 VT52 Emulation 13
4.2 VT100 Emulation 13
4.2.1 ANSI Extensions 13
4.2.2 VT200 Extensions 13
- ii -
Chapter 5
The Keyboard 14
5.1 General Keys 14
5.2 Special Terminal Keys 14
5.2.1 Keypad in VT52 Mode 14
5.2.2 Keypad in VT100 Mode 14
Chapter 6
File Transfer 15
6.1 ASCII 15
6.2 XMODEM 15
6.3 YMODEM 15
6.3.1 YMODEM-G 15
6.4 ZMODEM 15
6.5 STREAM 15
Chapter 7
Modem Usage 16
7.1 The Proper Parameter 16
7.2 Editing the Numbers 16
7.3 Dialing a Number 16
7.4 Dialing Several Numbers 17
Chapter 8
The Programming Language 18
8.1 Overview 18
8.2 Variables 18
8.3 Labels and Branching 18
8.4 The Commands 18-23
Appendix A
Emulation Implementation 24-27
Appendix B
Keyboard Combinations 28
Appendix C
Special Files 29
Appendix D
Listing of RUFUS Commands 30
Appendix E
Escape Sequences in Terminal Emulations 31
Index 32
- 1 -
Chapter 1
Introduction
1.1 What does RUFUS do?
Terminal programs give access for the Atari ST to other computers. From
the beginning there exited many products with support for VT52 and VT100
emulation. As file transfer protocalls capabilities, almost all supplied
XMODEM and KERMIT.
Meanwhile, that left the user with a long list of communication software
capabilities to wish for. The interface had itself certainly hardly been
employed. Of course, almost all programs had a GEM element assigned, but
a true binding with the interface still scares many away on the ATARI.
The consequence is -- a boring terminal representation.
[TR note: this section of text appeared damaged. This paragraph was
reconstructed best as could be.]
Having a many color screen and a graphic containing HYPERSCREEN your
modem's output can be well represented again with the picture screen
representation commanding 640x400 points. The future machines such
as the TT are not completely supported, not having one at hand.
The basic idea of RUFUS was, a terminal program able to handle all
screen types accessable from your house.
So RUFUS comes with a VT52 and a VT100 emulation. The VT100 emulation
also understands all ANSI codes and most VT2xx commands. For transfer
protocalls RUFUS also offers in addition to X-, Y- and ZMODEM a special
transfer mode for between two computers. A complex modem management
support works with online systems. A special bonus is the accessory mode.
RUFUS works also as an accessory and waits then with a new function,
background transfer.
The formation of the dialog boxes and the menu lists come from a mutually
consistant system and different respected programs. So it is that in all
boxes an OK and a CANCEL button are found, below on the right in the
corner. Through these clear command conventions the functions of RUFUS
are easily learned.
- 2 -
1.2 A Few Words About the Shareware Principle
RUFUS is a product of the Shareware market. This means the program may
be freely copied and distributed. No one must therefore purchase the
proverbial cat in the bag. Consequently, opposite from public domain
software, all rights remain with the author, and RUFUS cannot be sent or
distributed through PD services. Regular use requires the payment of a
relatively small fee of DM40.00 to the author (address and Bank Transfer
information below). As a small show of many thanks for the recognition,
register and receive upcomming updates information. Also, a future goal
is the payment of an additional DM10.00 fee getting the manual sent to you
in printed form. I hope for much, and that in the future being much more
comfortable with the concept, to keep up continued expansion and
development through RUFUS royalties.
Send error reports please to the following address:
Michael Bernards
Bussardweg 1
5204 Lohmar/Geber
West Germany
or by network:
Michael Bernards@BN im Mausnet
Michael_Bernards@SPACER im Zerberus-Netz
MEGAMAIL:M_BERNARDS im MagicNet
Fido-Net 2:244/11.4224
MICHAEL_BERNARDS;MM im PCNet
Bank Transfer Information:
Raiffeisenbank Lohmar, BLZ 37069477, account 15490
1.3 Computer Configuration
To work, RUFUS needs an ATARI ST with at least 512 KB memory and a floppy
disk drive. Other graphics cards can be used, as long as a VDI driver is
provided.
1.4 The Manual
The handbook is subdivided into four sections. In the first part is an
introduction to RUFUS, also a basic description of the parts. Following
is a detailed command description of all menus and dialog boxes and their
function. Next is a detail of the complex functions which RUFUS engages.
In the Appendicies the user can find references to the important questions
in overview.
- 3 -
1.5 Packing List
The following files belong with RUFUS:
AUTO
AMCLIGHT.PRG AMCGDOS v4.00 by Arndt Beissner. Special version.
GEMSYS
RUFUS05.FNT Character set 7x5 Pixel
RUFUS09.FNT Character set 11x6 Pixel with all ANSI Characters
RUFUS10.FNT Character set 14x7 Pixel with all ANSI Characters
RUFUS12.FNT Character set 16x8 Pixel with all ANSI Characters
GEMINI.FNT Character set 10x6 Pixel
RUFUSCOL
RUFUS.FNT Font for use with color medium resolution monitor.
RUFUSCOL.TXT Description of how to use the font.
RUF
assorted example batch programs
MODUL
TERM.TTP BTX-Decoder
KERMIT.TTP Kermit Transfer program
SZ.PRG ZMODEM Send program
RZ.PRG ZMODEM Receive program
RUFUS.APP the Program
RUFUS.RSC the Resource
RUFUS.INF Parameter file
RUFUS.FNT Character set used when GDOS is not resident (mono monitor)
RUFUS.TXT Manual to RUFUS in ASCII Format
READ_ME.1ST Hints and Update info
All registered customers who desire can receive the manual in printed
form.
1.6 Installation
The installation of RUFUS is very simple. The user needs only to copy
the files into the folders [as listed in 1.5]. If the user does not have
GDOS installed and wishes to use all the fonts possible with RUFUS, he
should first study the next section [1.7] closely.
After you have RUFUS copied onto the correct disk, start the RUFUS.PRG.
The menu and the window should appear on the screen. Now select the
PARAMETER menu and enter all personal parameters. The many options
should correct any problems. If the user feels trapped with questions
the following sections of the manual will answer them.
Should the user want to use RUFUS as an accessory, proceed as follows.
RUFUS.PRG must be renamed RUFUS.ACC and copied into the root directory
of the boot disk (C: for hard drives, A: for floppy). The user must also
copy RUFUS.RSC and (when present) RUFUS.INF to the root.
- 4 -
1.6.1 GDOS - "Was ist das?"
This is a question which, unfortunately, is heard too often still as
more exotic programs become finished. During development, the operating
system interface is loved, only later is it found that one important part
of GEM was dropped under the table. Later this part was offered as a
free standing program. Without this part GEM cannot load fonts or talk
to some peripherals.
RUFUS relys only on system fonts and the one custom font; however, to
place more than 80x25 in one window or screen, RUFUS also needs GDOS.
It gives a backdoor for the user to not require the computer to have GDOS
resident, but this is not recommended. How else can it be said: GDOS
is a part of the operating system. [To run RUFUS as an ACCessory, you
_must_ have GDOS installed. Otherwise, the computer will bomb.]
To install GDOS the user must follow these instructions:
1. A GDOS program must be copied into the AUTO folder on the boot disk.
There are several suitable programs. With RUFUS, the AMCGDOS program by
Arnd Beissner is supplied.
2. The folder GEMSYS must also be copied to the root directory of the
same boot disk.
3. Into the root directory of the boot disk the file named ASSIGN.SYS
must be copied.
4. The computer is rebooted. A message should appear saying GDOS is now
installed.
- 5 -
Chapter 2
The Interface
2.1 The Menu
Using the Menu the user can reach all the important RUFUS functions.
When the user clicks with the mouse pointer in the menu bar a list falls.
With these lists the desired function can be selected.
2.2 Dialoges
The dialoges in RUFUS appear to be somewhat different than those in other
GEM programs. They are based on the "Fliegenden Dialogen" from Julian
Reschke, in RUFUS they do a good job.
All dialogs have a similar construction. Above left in the corner is an
underlined text, this is the function of the box. On the oposite corner
are the action buttons. With these buttons the user exits the dialog.
The heavily outlined button can also be selected with the RETURN key. In
the upper right corner is the folded button. Clicking and holding with
the mouse pointer there, the user can drag the dialog box and position it
freely on the screen.
One additional command is the so called shortcut. Everywhere there is a
letter underlined, the user can select that function by pressing the key
in combination with the ALTERNATE key. So the user can exit almost every
dialog with ALTERNATE-C for Cancel.
Dialed items selected by arrows (such as BAUDRATE in the RS232 menu) can
be selected with the corresponding cursor keys.
2.3 The Window
In the same Window the terminal and the view buffer are accessable. As is
normal, the window has only one drag bar and one info line. With the
drag bar the window can be freely positioned on the screen. In the title
is the name of the last online service reached. The info line contains
diverse information about how the user has the program configured.
On the left is the status of the keypad with the condition listed to the
right. A NUM means that the normal characters are sent. In APPLICATION
mode (APPL) the keys respond as expected depending on the terminal
emulation selected. Explaination of this subject will be found in the
chapter discussing the keyboard.
With the right mouse button the user can select the view buffer screen.
The window has a vertical scroll bar now, allowing the user to wander
through the buffer. With the cursor up and down keys the user can also
scroll, while in connection with the SHIFT key even sideways.
Close the window when run as an application, and the program ends. In
accessory mode it only shifts to a standby condition. Open the window
again, and the RUFUS accessory returns to the previous condition.
- 6 -
Chapter 3
The Menu
3.1 The File Menu
Under the title 'Files' are gathered the functions which deal with the
mass storage devices in general. By the way, batches and programs may
also be started from here.
3.1.1 INF Load...
With this function the user can load INF files. These are where all the
paramters for RUFUS are stored. The user can have different configuration
files stored and use them. When selected, this brings up a standard file
selector box allowing selection of the INF file. The standard path can
be set in the menu Parameter Path Select.
3.1.2 INF Write...
With this the user can create files containing the actual parameter
settings for his version of RUFUS. The File Selector box appears with
the specified Parameter path selected and RUFUS.INF as the file name.
So just by pressing RETURN the user can complete the action quickly.
3.1.3 EXecute Program...
Sometimes it is useful to run other programs without leaving the terminal
program first. RUFUS offers several possibile ways to do so. Selecting
the menu item brings up a file selector so the user can select a program
to run. Next a dialog will ask for the parameters the program expects
to have to run. If the program selected has a suffix of TOS or TTP RUFUS
shifts into the VT52 emulation mode and the program runs in the window.
Otherwise, the window will be closed and then the program run. When done,
control is returned to RUFUS.
3.1.4 Shell Access
This function is only accessable when the user has installed a command
line processor that has a shellpointer correctly set up. Two that come to
mind are GEMINI and MUPFEL from Stefan Eissing and Gereon Steffens. With
Run SHELL this program can pass one command for processing. The response
that is returned is either placed in the RUFUS window or the effect is
noticed over the whole program. This in the menu Parameter Terminal is
selected.
3.1.5 Batch Start...
A RUFUS batch program can be started with this function. RUFUS programs
are TEXT files containing commands which RUFUS can understand and act on.
A complete discussion of the commands and their syntax can be found in the
chapter "The Programming Language".
Also here a File Selector appears allowing selection of the Batch file.
- 7 -
3.1.6 Give Batch Command
With this one a single command of the Programming Language of RUFUS can be
executed. This is a good way for the user to try them out.
3.1.7 Quit
After a dialog asking to save the buffer, RUFUS is exited from here. If
RUFUS is installed as an accessory, only the window is closed.
3.2 The 'Block' Menu
Under this menu title are functions concerning block manipulation. Blocks
can be marked in view mode, the desired section marked by clicking and
holding the mouse button, then dragging the mouse above or below that
point. In Version 1.02 blocks are still not depicted as being marked.
3.2.1 Block Save...
Calls the File selector box to allow the user to specify the name under
which the marked block should be saved.
3.2.2 Block Send
The marked block will be sent over the serial port through the modem.
3.2.3 Copy To Clipboard
The marked block is copied to the GEM Clipboard folder. If the Clipboard
is not found, RUFUS creates one. [Clipboard is the accessory found with
the GEMINI package.]
3.3 The 'Transfer' Menu
Under this title the user will find the functions to transfer files over
the serial port - modem.
3.3.1 File Send...
One file, with the currently selected protocal, is sent. The protocal
can be selected in the Protocal menu (section 3.4.3). The desired file
can be selected with the File Selector box presented.
3.3.2 File Receive...
This will receive one file using the preselected transfer protocal. The
protocal can be selected in the Protocal menu (section 3.4.3). The name
can be selected through the File Selector box. The exception is ZMODEM,
where the file name is received from the sender.
- 8 -
3.3.3 ASCII File Send...
One file, without any protocal, is sent. Here also will appear the File
Selector box allowing the file to be chosen. A box with a gray bar to
show transfer progress will appear.
3.3.4 Buffer Load...
This makes it possible to load the capture buffer from disk. With the
File Selector the desired file is selected. [Note: The buffer must be
switched ON before this option is selected. See section 3.4.7 on how to
select buffer options.]
3.3.5 Buffer Save...
All the captured data in the buffer can be saved to one file with this
function. The file name may be selected with the File Selector.
3.4 The 'Parameter' Menu
With the menu selections found under this title all parameters of RUFUS
can be adjusted.
3.4.1 RS232
After selecting this item, it produces a dialog box in which all options
for the serial port can be set. The default setting is 8 data bits, no
parity, 1 stop bit and no handshaking. The parameters are preset at most
bulletin board systems and also at mainframes, and must be determined.
Most give them in short form such as 2400baud/8N1.
Choosing OK will set the port to the specified options and with CANCEL,
the previous settings are retained. The left and right cursor keys are
an alternate method of setting the baud rate to be used.
3.4.2 Terminal
In this dialog box all the choices are given for the look and emulation
mode of the terminal to select. The first choice is emulation. RUFUS
offers three terminal emulations:
1. VT52 - This is one emulation of the DEC terminals. This format is
what the ATARI ST system uses, the auto folder programs use this before
the other portions of the system are enabled.
2. VT100 - The current standard terminal from DEC. In this emulation
mode, RUFUS also handles codes for VT2XX terminals and the ANSI codes.
3. ASCII - No emulation. All characters shown as given.
The next item is Echo Mode. FULLDUPLEX means that all characters from the
keyboard are sent only to the serial port. HALFDUPLEX puts the characters
on the terminal screen also and LOCAL-MODE writes the characters only in
the screen.
- 9 -
At LineEnd the user can select what happens when the terminal screen
reaches the end of the line. BREAK means that a line feed and a
carriage return are automatically placed and the text is continued on
the next line. WRAP pulls the complete word into the next line (not
implemented in this version [1.02]). OVR means that the remaining
characters are simply written over each other in the last character spot.
Where V52 only offers inverse text for special effect, RUFUS offers the
possibility of inverse, thickened, or underlined text.
The number of lines and columns for the terminal window can be freely set
in RUFUS. The default and most popular is 80X24 (as the VT100 and VT52
use) or 80X25 (VT52 under TOS).
Included in this dialoge as still six other options to set. The first
option selects whether new line should be sent as only a carriage return
or coupled with a linefeed also. With the second the user can select
whether, when backspacing, if the character under the cursor is erased
or remains visible. The third option selects whether the responses from
a shell program are written in the RUFUS window or windows are closed to
allow the program to run on the whole screen. Many mainframes, in spite
of the 8 bit conection, can handle only 7 bit data through the RS232 port.
The high bit can be stripped, or allowed through by setting the fourth
option. The fifth option selects whether the keypad is in ATARI mode
or terminal emulation mode. With the sixth and last option the user can
remove the status line from the terminal window. One more line can then
be viewed on screen. [Usefull on medium resolution ST screens.]
3.4.3 Protocall
After selecting this option one dialog box opens where all parameters for
the file transfer protocalls can be selected and set. RUFUS offers the
choice of five protocalls: XMODEM, YMODEM, YMODEM-G, ZMODEM, and STREAM.
The first three mentioned may be run in the background. ZMODEM calls on
the programs RZ.TTP and SZ.TTP. STREAM exists (till now) only in RUFUS.
It lends itself especially to file transfers on error free lines (computer
to computer, MNP-5), and works only with a handshaking control (XON/XOFF,
RTS/CTS).
On the right side the user finds a box with two buttons active only when
RUFUS is installed as an ACCessory. With the first button, it can be
selected whether file transfers are expected to run in the background.
With the second, whether or not to return to a RUFUS window at the end
of a file transfer can be selected.
Users who select ZMODEM to transfer files normally do not get a file
selector dialog when ZMODEM starts. If they desire one, this may be
selected in the Protocall Dialog Box. The option strings for the ZMODEM
programs RZ and SZ can be given in this dialog also. The string "-B" is
given for both strings which means use default settings.
- 10 -
3.4.4 Modem
For the modem, RUFUS gives much choice to parameter setting. Before and
after all the desired communication, RUFUS is required to pass one modem
command to assure it works.
The first string is the Dial command. This must end with a carriage
return (CNTRL-M). A number sign ('#') stands for the selected telephone
number.
The second string is sent before the call and is a modem reset command.
Here also a carriage return is required. Most modems after a reset cannot
accept commands for a few moments, it is therefore necessary to pause.
This is represented in the string with the CTRL-I characters. Each
gives a half second pause.
The following string is the message from the modem after a successful
connection. The next three strings are the negative messages. RUFUS
uses these for auto redial.
At the end come some switch for more options. Automatic Baud rate
Selection means RUFUS uses the modem's answer message and GGF [TR ?]
to select the baudrate.
If RUFUS has the Automatic Redial selected, it is to protect the modem
that it pauses a while, allowing the phone line to clear. The time length
of the pause can be set to the user's preference. RUFUS cancels at user's
request dialing the modem. This is the last command here.
3.4.5 F' Keys
RUFUS offers 20 freely modifiable Function keys: ten normal and 10 shifted.
One benefit is the user can place a batch file name into a function key,
and when that key is pressed, RUFUS immediately executes that batch. The
file name must be preceeded by the '&' symbol. Similarly, the user can
call one batch command with a function key by placing the '%' symbol in
front of the command.
Examples:
%DIAL "1234" Dials the number 1234.
&RUFUS.RUF Executes the batch file RUFUS.RUF.
3.4.6 Numbers
In this dialog box are the settings for BBS system dial ups. On the right
side, the user finds the name of the currently selected BBS. Through
selective clicking with the mouse, the different fields can be selected
and edited with the new name showing up in the box to the left. With a
double click on the name or through the "Dial" button below, the call
will be started. Alternately, the user can select any of the sixteen
numbers to be dialed with the F1 through F10 and shifted F1 through
shifted F6 keys.
There are only eight of the 16 numbers visible in the window at a time,
using the scroll bar the others can be viewed. Shift UP Arrow or Shift
Down Arrow also scrolls the window.
Underneath the editable fields the user can select whether several numbers
can be selected to dial. All numbers in the list will be dialed one by
one by RUFUS until a connection is made. With the next selection the
automatic dial function can be selected. RUFUS then dials one or all
numbers until a connection is made, or the user cancels. The auto dial
feature needs the Failure Codes from the MODEM to work properly (3.4.4).
- 11 -
3.4.7 Buffer
The buffer is a special storage place in which everything comming in the
serial port is collected without terminal protocal. In the Buffer Size
entry one can adjust how big the buffer should be. Under this are four
other selections.
The first selection is whether the incomming data should be written to the
buffer or not. The next is whether to warn the user before a buffer is
erased. Turn this warning on, and the user can decide whether the buffer
is lost or saved. Should the buffer not be lost, writing to the buffer
is switched off.
With the middle switch, the user selects if a full buffer is automatically
saved and whether or not it is appended to a file if that file already
exists. If this last is not active, RUFUS may eventually lose a file by
writing over the exisiting one.
The name, under which RUFUS will automatically save, can be specified in
the menu. There the user can give the control codes from the following
table:
%a Abbreviated Weekday name %A Full weekday name
%b Abbreviated Month name %B Full month name
%c Date and time %d Day of month (1-31)
%H Hour (0-23) %I Hour (0-12)
%j Day of year (1-366) %m Month (1-12)
%M Minute (00-59) %p AM/PM
%S Second (00-59) %w Day of week (0-6)
%W Week of year (0-52) %x Local date representation
%X Local time representaion %y Year without century (0-99)
%Y Year with century %Z Timezone name (produces: MEZ)
%% The '%' character
[These codes are the same as specified in ANSI C for time / date string
formatting.]
So by specifying RC%y%m%d.TXT on 11 Nov 1990 the file RC901111.TXT would
be the result. The selection ERASE erases the buffer, while SAVE will
write the buffer to disk. ERASE also can be accessed with the keyboard
combination ALT-Y and SAVE with ALT-G.
3.4.8 Set Fontz
RUFUS loads existing fonts over GDOS. In the menu Set Fonts the user can
dial type and size, as he chooses. RUFUS uses only a single font, and
not porpotionally. When changing the font by the user in the menu, RUFUS
shows the smallest available size.
A peculiarity is the system font (6x6 built in). There TOS hides the
three system fonts. With a point size of 8 the user gets the 6x6 font, 9
point is the 8x8 font and 10 selects the 16x8 font.
If GDOS is unavailable when requested by RUFUS, only the font RUFUS.FNT
gets loaded. When not loaded when the computer boots, the user has
none but the 6x6 system font in three sizes.
- 12 -
3.4.9 Disk Paths
RUFUS manages many different paths. The first tells where RUFUS will load
Batch files from. The second path informs RUFUS where the files to be
uploaded are. The path where the INF files are kept is given by the third
path. With the next path setting for the user, the buffer write location
is given. With the fifth path, the user can specify where the programs
RZ.PRG and SZ.prg for ZMODEM transfer are to be found. The last path is
for the downloaded programs' placement.
All paths can always by typed by hand by the user or also with the file
selector box when the user clicks on the path input line.
3.5 The "POP-UP" Menu
Since accessories have no pull down menus available, RUFUS uses Pop Up
menus when in accessory mode. The user can access the menu with a click
in the window or by pressing the HELP key. With the gray bar the menu
can be moved around. By dragging in the menu, and holding with the arrow,
the items under the menu will click into place.
- 13 -
Chapter 4
Terminal Emulations
4.1 VT52
VT52 is a simple terminal. Almost all known BBS systems understand the
VT52. The codes are the same used by the TOS window management system.
The VT52 mode is what the ST enters when a TOS or TTP program is started
or a Shell program is used. The VT52 emulation is similar to VT100, the
later has more codes. By the way, the keypad is now in original VT52
form.
4.2 VT100
VT100 is by far the world standard terminal. Nearly every BBS system and
mainframe computer understands this terminal format. Only very few of
the commercial telecom programs come without a VT100 emulation. Therefore
it is self evident that RUFUS had to emulate this terminal. RUFUS can
understand almost all current features of the VT100, as far as is possible
on a computer with graphics as simple as the ST. Underlined interlaced
mode is not possible with the SM124 monitor. Just as "SELFTEST" is
irrelevant. The codes to implement those VT100 functions are ignored.
4.2.1 ANSI Mode
ANSI is the American norm (corresponding to DIN in Germany). Also, the
control codes for terminals have only recently been set. The ANSI codes
are practically identical to the VT100. The character sets are different,
however. The major differences are incorporated into RUFUS. The most
use of ANSI is in the MSDOS area, there the interface is handled through
the PC program ANSI.SYS to ANSI terminal mode. To accomodate this, RUFUS
has three character sets with all the ANSI characters included: RUFUS9,
RUFUS10, RUFUS12. The numbers in the names gives the point size. Since
all are GEM fonts, they can only be accessed with GDOS installed.
4.2.2 VT2XX Emulation
Following the VT100, terminals of the VT2XX series were produced. The
important difference from the VT100 is all characters are in full 8-bit
mode. This allows the control codes starting with ESC[ to occupy a single
character (CSI). As with ANSI, here RUFUS can handle the important codes.
- 14 -
Chapter 5
The Keyboard
5.1 General Keys
There are terminals with keys serving special functions, RUFUS also has
ways for keys to serve those functions. The menu of RUFUS can be reached
by keys. Also, built into those menus are always key access. When inside
a dialog box and the user can click to set a parameter (Terminal mode,
RS232 baud rate) so can these also be assigned to happen with the press of
a function key. Also, by the way, in the RS232 Menu the baud rate can be
adjusted with the cursor-left and cursor-right keys. The complete list
of key combinations is in Appendix B.
The combination with the Alternate key is needed because of the connection
with the Control key to BBS system and mainframe service (i.e. CTRL-C or
CTRL-X).
The Function keys are a perfect example. When the user is in terminal
mode of RUFUS, pressing any function key will cause the whole sequence
previously entered in the Function Key Definition menu to be sent. The
exception is when the function key is loaded with a batch file or shell
commend. [Then either that batch is executed or the command is passed to
the shell.]
In accessory mode the Help key has the effect of causing the Popup menu
to shoot onto the screen. Pressing the Undo key causes the window to
close, until the next call to run.
5.2 Special Terminal Keys
No matter how close the emulation of the terminal is brought, is is
necessary that some keys be left undefined. So, to represent the
BREAK signal, the combination ALTERNATE-ESC is used.
5.2.1 Keys in the VT52 Emulation
The VT52 emulation sends the corresponding VT52 codes for each cursor
key pressed. Also, HOME and CLR supply the proper codes. When the user
has the keypad in application mode, the keys (, ), /, * form the keys PF1
through PF4.
5.2.2 Keys in the VT100 Emulation
The VT100 emulation sends the corresponding VT100 codes for each cursor
key pressed. Also, HOME and CLR supply the proper codes. When the user
has the keypad in application mode, the keys (, ), /, * form the keys PF1
through PF4.
- 15 -
Chapter 6
File Transfer
6.1 ASCII
The ASCII transfer is a protocal free transfer, that is, the files are
sent without reguard for loss. This kind of transfer is specially suited
for when the user has prepared text files and would like to transmit them
to an online system.
6.2 XMODEM
XMODEM is the best simple protocal for file transfers. Almost every host
computer and online system supports XMODEM for binary data sending.
XMODEM can be used by RUFUS in the background.
6.3 YMODEM
YMODEM is an expansion of XMODEM. Larger blocks and CRC checksumming make
for a faster and safer file transfer. Most YMODEM implementations (YMODEM
Batch) can transmit the file name and the size. RUFUS is unable to do
that. As with XMODEM, YMODEM can also run in the background.
6.3.1 YMODEM-G
A separate variant of YMODEM is YMODEM-G. YMODEM-G is faster than YMODEM.
However,it cannot recover when an error crops up. YMODEM-G is for error
free transfers through the appropriate MNP5 system.
6.4 ZMODEM
ZMODEM is presently the most powerfull file transfer protocal and itself
pleasantly always shows great stoutness. RUFUS uses this protocal through
the programs RZ.PRG and SZ.PRG. Since ZMODEM is not runable in the
background, the user may always use XMODEM or YMODEM.
6.5 STREAM
STREAM is a specialty of RUFUS. STREAM is especially designed for error
free phone lines (MNP5 or null modem). The disadvantage is that, even now
none but RUFUS supports this protocal. However it is about 20% faster
than ZMODEM.
- 16 -
Chapter 7
Modem Usage
7.1 The Correct Parameters
RUFUS is right flexible when passing strings to and from the modem. The
user can give the dial string not only a prefix but also a suffix. The
possibilities are endless, passing a string so complex it befuddles you.
In the Modem Parameter dialog six possible strings can be inserted. The
first two are commands to be given to the modem. Both must end with a
carriage return. The user can give this with the key combination of
CONROL-M.
When the modem is reset, the user must pause before sending more to the
modem. Through use of the key combination CONTROL-I one can get a half
second pause.
The dial string can contain one additional code. The character '#'
informs RUFUS to put the desired phone number in its place. The following
strings will control a Hayes AT standard modem:
RESET: ATZ<CONTROL-M><CONTROL-I><CONTROL-I>
ATZ Command to reset modem
<CONTROL-M> RETURN, send modem command out.
<CONTROL-I> half second pauses. At least a pair is needed.
DIAL: ATDP#<CONTROL-M>
ATDP Command to pulse dial (use ATDT for tone).
# number.
<CONTROL-M> end the command.
The three next strings are ones the modem sends when it is unsuccessful at
dialing the given number.
The user should place the modem responses for no response there (BUZY etc.).
7.2 Editing the Numbers
Phone numbers are given in the Number dialog. To set the system name or
other information, the user must first click on the number. Now will
appear to the right the info. Name, telephone number and a Batch can be
inserted. The Batch is a RUFUS Batch Program constructed according to the
instructions in chapter eight.
7.3 Dialing a Number
From the Number Dialog there are three ways one number can be dialed. The
user can simply click on the number and then click on the choose button.
Also it is possible to double click on the number. And last, by keypress
a number can be chosen. The keys F1 to F10 dial the first 10 numbers,
while the key combination SHIFT-F1 through SHIFT-F6 dial numbers 11 thru
16.
There lies much more to the box, and for the user who cannot be present
between calls, RUFUS offers an automatic operation. As long as one of the
three modem failure strings is received, RUFUS will try to call again.
The time between two call attempts can be adjusted in the box also.
- 17 -
7.4 Dialing More Numbers
RUFUS offers the possibility of dialing many different numbers until a
connection is made with one. To have this occur the corresponding button
must be switched on in the Numbers box. Now the numbers can be dialed
and tried out. With a click choose START to continue. If the auto dial
switch is on, after unsuccessfully calling all the numbers RUFUS will
begin again from the beginning.
- 18 -
Chapter 8
The Programming Language
8.1 Overview
RUFUS contains its own programming language. With programming allowing
accumulation of many repeated instructuctions, like in logging in,
automation is possible. The RUFUS programs (short batch) are simply ASCII
text in which each line has one command. If the first character in the
line is a semicolon, the entire line can be used for giving comments.
A batch can be broken off with a CTRL-X keypress. Exception is the DIAL
command which can be manually cancelled with one of the keys SHIFT,
ALTERNATE, CONTROL or broken off with the Mouse buttons. When the user
needs to supply a file name (such as in UPLOAD), RUFUS will call the File
Selector box.
8.2 Variables
Variables are denoted with a '$' followed by a whole number between 0 and
99. $0 is automatically used, when none or an invalid variable (i.e $100)
is given. The user is not obliged to become familair with its contents,
with the next command always changing it.
Some special variables available, naturally, must not be skipped.
$F1-$F10, $SF1-$SF10 set the contents of the Function keys.
$N1-$N16 stand for the telephone numbers in RUFUS' list.
$UE has a dialog box outcome, in the application use can be made of it. Gone
$D has the Fileselector outcome.
Special variables can in these applications be used.
The user must quote (i.e. " ") all strings.
$0-$99, $n1-$n16 are numerical variables
$d, $f1-$f10 and $sf1-$sf10 are string variables
$ue is allowed to be used with both
8.3 Labels and Branching
Labels or branch markers consist of a whole number between 0 and 255
followed by a colon (45:). GOTO, GOSUB, RETURN and IF can act on these
labels. Label 0 should not be used, it is needed for GOSUB-RETURN to
function.
8.4 The Commands
ADD var value1 value2
adds the two items specified by value1 and value2 and places result into
var.
Example: ADD $1 $2 4
the value 4 is added to the contents of variable $2 and the result is put
in variable $1.
- 19 -
ALERT [var] form_string
RUFUS produces a GEM alert. The button selected will be stored in the
optional variable. Form_string is formated as: [Icon-Number][text][button]
Example: ALERT $4 "[3][Das ist das Ende][OK|NEIN]"
Following exit from the Alert, the number of the button chosen will be in
variable $4.
BAUDRATE baudrate|var
Baudrate set or inquired respectively.
Example:
BAUDRATE 2400 sets to 2400 Baud
BAUDRATE $1 Determines the current baud and stores value in varable $1.
BELL 0|1
With BELL the user can produce an acoustic signal. BELL 0 gives a ring,
BELL 1 a dull tone.
CLEARBUFFER
Capture buffer is emptied.
CLR
Sends a Terminal reset command.
CRLF
Turns the automatic Linefeed delivery on.
DIAL [var] fonenumber
A phone number out of the register will be dialed. Automatic settings
(Dial, Baudrate) will be followed. Success or failure of the call will
be written to the supplied variable. There are only five possible values
returned:
-2 = connection broken
0 = Dialed successfully
1 = Failure#1 (your Modem parameter)
2 = Failure#2
3 = Failure#3
- 20 -
Example:
DIAL $N3 dials the third number in the Number list
DIAL "1-202-736-5000" dials the number in the quotes (the White House).
DIAL "CompuServe" dials the number of CompuServe if the BBS name and info
are entered in the Numbers Dialog. [NEW for version 1.06]
DIV var value1 value2
Divides value2 by value1 and places result in var.
Example: DIV $1 $2 4
The value 4 is divided by the contents of variable 2 and the result is
placed into variable 1.
DOWNLOAD [var] filename
Attempts to download the file using the previously selected protocal.
Reports the result in the specified variable.
Example: DOWNLOAD $1 "OUTFILE.ARC"
END
Exit a batch before the end of the file.
FDELETE [var] filename
Erases the file. Success or failure is reported in the variable.
FILEEXIST [var] file_name
Investigates the existance of the File and writes the result in the
variable. 0 means that the file does not exist.
GOSUB label|var
Branch to the desired label (see also GOTO). The actual return position
will be marked by label 0 and with RETURN command can be reached. The
user can provide a variable instead of a constant label making indirect
branches possible.
Example:
GOSUB 3 branches to label 3
GOSUB $3 branches to label number in variable $3.
GOTO label
Branches to the desired label if it exists, otherwise branches to the end
of the batch. Instead of a constant label, a variable can be used making
indirect branching possible.
Example:
GOTO 3 branches to label 3
GOTO $3 branches to label number in variable $3.
- 21 -
IF condition n1 n2 label
When the condition is fulfilled, a branch is taken to the label, otherwise
it falls through to the next command. n1 and n2 are numeric expressions
and can also be variables or constants. The condition can be one of the
following:
EQ var == constant
NE var != constant
GE var >= constant
LE var <= constant
GT var > constant
LT var < constant
the branch succeeds as with GOTO.
Example: IF EQ $1 0 4
Compares the contents of variable $1 to see if equal to 0. When true
a branch off to label 4 is taken.
LET var value
places the value into the variable.
Example: LET $1 4
Writes in $1 a 4.
LOADINF file_name
RUFUS configuration file is loaded.
MUL var value1 value2
Multiplies the two values and places result into the variable.
Example: MUL $1 $2 4
The value 4 is multiplies by value in variable $2 and the result is put
into variable $1.
NOCRLF
Turns the automatic linefeed off.
PRINT string[-] | \nnn | var [-] |
Puts out either a string or a character with ASCII code nnn into the
terminal window. A CR will automatically be sent, unless a '-' is the
last character in the string. It is also allowed to use the variables
$ue, $d, $f1-$f10, $sf1-$sf10 and $n1-$n16. Then it is necessary that
eventually a null character follows the '-' to keep the variables existing
separately.
Example:
PRINT "HALLO" gives HALLO in the Terminal.
PRINT \027 writes an ESC at the Terminal.
- 22 -
PROTOKOLL protocal
With this command the user can sellect the transfer protocal. The
following protocal names are acceptable: XMODEM,YMODEM,ZMODEM,ASCII and
STREAM. Giving the first letter of the term is sufficient.
QUIT
RUFUS will first question if the user is certain.
RETURN
Return from a subroutine. RETURN is identical to GOTO 0.
RUN file_name [cmdline]
Start a programme.
Example:RUN "TEMPUS.PRG" $ue
Start Tempus and give the supplied parameter.
RWAIT [var] string [timeout]
RWAIT waits till the specified string is received. Not breaking till the
time set as timeout is reached, a value of 0 means success, otherwise a
value not equal to 0 means failure. The exact failure codes have not yet
been finalized.
If an '&' is the first string character, it is ignored and for the rest of
the string no distinction is made, while waiting, for upper- and lowercase
characters. Also the last parameter can specify the timeout time.
If TIMEOUT = 0, RWAIT waits FOREVER.
Example: RWAIT $1 "&username" 10
Wait a maximum of 10 seconds for the supplied string, ignoring upper/lower
case.
SAVEBUFFER file_name
Writes the Buffer to the specified file. Buffer Options settings are
considered.
SEND string[-] | \nnn | var [-] |
Sends either a string or a character with ASCII code nnn. A CR will be
automatically sent unless a '-' is the last character in the string. It
is also allowable to use the variables $ue, $d, $f1-$f10, $sf1-$sf10 and
$n1-$n16. Then it is necessary that eventually a null character follows
the '-' to keep the variables existing separately.
Example:
SEND "Tagchen"
SEND \027
SEND $ue
- 23 -
SUB var value1 value2
Subtract the values and leave the result in the variable.
Example: SUB $1 $2 4
The value 4 is subtracted from the value in variable $2 and the result is
placed in variable $1.
SYSTEM command
Pass a command to a shell such as: GEMINI, MUPFEL, MASTER.
Example: SYSTEM "ls -l"
List out a directory.
TERMINAL value|var
Set or inquire, respectively, the terminal mode. Given values 0=ASCII,
1=VT52 or 2=VT100, sets the emulation respectively. Given a variable,
returns to the user the above respective value in the variable.
Example:
TERMINAL 1 set VT52 on.
TERMINAL $1 determine the current Emulation and write the value in $1.
TIMEOUT sec
Set Timeout value for WAIT and RWAIT.
UPLOAD [var] file_name
Send the file using the previously selected protocal and report back the
result in the variable.
WAIT [var] [constant]
Wait till the TIMEOUT preset time. The time can be directly set.
- 24 -
APPENDIX A
Implementation of Terminal Emulation
VT52
ESC < Enter VT100/ANSI Emulation
ESC = Keypad in Application Mode
ESC > Keypad in Normal Mode
ESC A Cursor Up
ESC B Cursor Down
ESC C Cursor Right
ESC D Cursor Left
ESC E Terminal Reset
ESC H Cursor Home
ESC I Reverse Linefeed
ESC J Clear Below Cursor
ESC K Clear Remainder of Line
ESC L Insert Line
ESC M Delete Line
ESC Y pl pc Position Cursor
ESC Z Terminal Identification (RUFUS sends ESC / Z back)
ESC b Foreground Color Set
ESC c Background Color Set
ESC d Clear Screen to Cursor
ESC e Cursor On
ESC f Cursor Off
ESC j Save Cursor Position
ESC k Cursor to Saved Position
ESC l Clear Current Line
ESC o Clear Current Line to Cursor
ESC p Inverse On
ESC q Inverse Off
ESC v Wrap On
ESC w Wrap Off
- 25 -
VT100
ESC (A Set UK character set to G0
ESC (B Set ASCII character set to G0
ESC (0 Set graphics character set [line-drawing] to G0
ESC )A Set UK character set to G1
ESC )B Set ASCII character set to G1
ESC )0 Set graphics character set [line-drawing] to G1
ESC [2h Keyboard lock
ESC [2l Keyboard unlock
ESC [4h Insert mode (*)
ESC [4l Replace mode (*)
ESC [12h Full duplex
ESC [12l Half duplex
ESC [20h CR instead of CRLF
ESC [20l CR normal
ESC [?1h Cursor key in Application mode
ESC [?1l Cursor key in Cursor mode
ESC [?2l Enter VT52-Emulation
ESC [?3h 132 column Mode
ESC [?3l 80 column Mode
ESC [?4h Smooth Scrolling
ESC [?4l Jump Scrolling
ESC [?5h Inverse screen
ESC [?5l Normal screen
ESC [?6h Origin mode relative (*)
ESC [?6l Origin mode absolute (*)
ESC [?7h Wrap on
ESC [?7l Wrap off
ESC [?8h AUTO Repeat on (*)
ESC [?8l AUTO Repeat off (*)
ESC [?9h Interlace on (*)
ESC [?9l Interlace off (*)
- 26 -
ESC [0m No Attribute
ESC [1m Fat characters on
ESC [2m Solid pointer on (*)
ESC [3m Script on
ESC [4m Underline on
ESC [5m Blink on (RUFUS clear)
ESC [6m Fast Blink on (*)
ESC [7m Inverse on
ESC [8m Abgedunkelt on (*)
ESC [22m Fat off
ESC [24m Underline off
ESC [25m Blink off
ESC [27m Inverse off
ESC [30m Black foreground
ESC [31m Red foreground
ESC [32m Green foreground
ESC [33m Yellow foreground
ESC [34m Blue foreground
ESC [35m Purple foreground
ESC [36m Cyan-blue foreground
ESC [37m White foreground
ESC [40m Black background
ESC [41m Red background
ESC [42m Green background
ESC [43m Yello background
ESC [44m Blue background
ESC [45m Purple background
ESC [46m Cyan-blue background
ESC [47m White background
ESC [48m Low level
ESC [49m High level
ESC [ pn A Cursor up pn lines
ESC [ pn B Cursor down pn lines
ESC [ pn C Cursor right pn lines
ESC [ pn D Cursor left pn lines
ESC [ pl ; pc H Cursor Position
ESC [ pl ; pc f Cursor Position
ESC D Index
ESC M Reverse Index
ESC E Nextline
ESC 7 Save cursor position and characteristics
ESC 8 Restore cursor " and "
ESC H Horizontal Tab set
ESC [g Tab clear
ESC [0g Tab clear
ESC [3g All Tabs clear
ESC #3 Double high, over half
ESC #4 Double high, under half
ESC #5 Standard high, standard Breite
ESC #6 Double Bright (*)
- 27 -
ESC [K Erase from cursor to end of line
ESC [0K Erase from cursor to end of line
ESC [1K Erase from beginning of line to cursor
ESC [2K Erase entire line
ESC [J Erase from cursor to end of screen
ESC [0J Erase from cursor to end of screen
ESC [1J Erase from start of screen to cursor
ESC [2J Erase entire screen
ESC c Terminal Reset
ESC [5n Status report
ESC [6n Cursor position report
ESC [c What Terminal type are you?
ESC [0c "
ESC Z "
ESC [ pt ; pb r Scroll region set
ESC [0q all LED's off
ESC [ ps q LED ps on
ESC [ pn P Characters erase
ESC [ pn L lines insert
ESC [ pn M lines erase
ESC [s Save Cursor position
ESC [u Cursor Position restore
Also with the Control Code CSI all ESC [ codes are interpreted, so that
some VT2xx compatibility is possible.
- 28 -
APPENDIX B
Keyboard Codes
ALT-A ASCII File send
ALT-B Batch file execute
ALT-C Block copy to Clipboard
ALT-D Path setting
ALT-E File Download with current transfer protocal
ALT-F Function key setting
ALT-G Save the Buffers
ALT-H Modem hangup, DTR line toggle
ALT-I Save Parameter settings
ALT-J Save the Blocks
ALT-L Parameter load
ALT-M Modem parameters
ALT-P Transfer protocal select
ALT-Q RUFUS Exit
ALT-R RS232 settigns
ALT-S File Upload with current Protocal
ALT-T Terminal setting
ALT-U About RUFUS
ALT-V Shell command execute
ALT-W Dial Telephone number
ALT-X Programme execute
ALT-Y Buffer empty
ALT-Z Font select
ALT-1 1200 Baud
ALT-2 2400 Baud
ALT-3 300 Baud
ALT-4 4800 Baud
ALT-9 9600 BAUD
ALT-ESCAPE curses Break
SHIFT-ESCAPE CSI
SHIFT-ALT-B Batch command execute
SHIFT-ALT-M STREAM select
SHIFT-ALT-P Buffer management
SHIFT-ALT-S Send Blocks
SHIFT-ALT-U Wrapmode select
SHIFT-ALT-V Terminal emulation setting
SHIFT-ALT-X XMODEM and CHKSUM select
SHIFT-ALT-Y YMODEM and CRC select
SHIFT-ALT-Z ZMODEM select
- 29 -
APPENDIX C
Special Files
RUFUS.RUF - contains the default settings RUFUS uses when run. When RUFUS
encounters file with this extension in the RUF folder, it is executed as
a Batch process.
RUFUS.FNT - this font is loaded by RUFUS when GDOS is not installed. The
font must be in GEM Font format and nonporportional.
SZ.PRG and RZ.PRG are the programs which enable ZMODEM to operate.
With RZ the following parameters are possible:
SZ can take a few parameters more: [Trans note: Parameters were missing from
the RUFUS.ARC file in all versions I could find. M_Kg.]
KERMIT is a file transfer protocal especially for Mainframes. KERMIT.TTP
allows communication with this protocal.
TERM.TTP is a simple BTX decoder, with BTX.RUF it will start running in
the RUFUS window.
- 30 -
APPENDIX D
Listing of RUFUS Commands
ADD var1 value1 value2
ALERT [var] form_string
BAUDRATE baud|var
BELL 0|1
CLEARBUFFER
CLR
CRLF
DIAL [var] telephone_number
DIV var value1 value2
DOWNLOAD [var] file_name
END
FDELETE [var] file_name
FILEEXIST [var] file_name
GOSUB
GOTO label
IF candition n1 n2 label
LOADINF file_name
MUL var value 1 value2
NOCRLF
PRINT string[-] | \nnn |
PROTOKOLL protocal
QUIT
RETURN
RWAIT [var] string [constant]
RUN file_name [cmdline]
RWAIT [var] string [timeout]
SAVEBUFFER file_name
SEND string[-] | \nnn |
SUB var value1 value2
SYSTEM command
TERMINAL 0|1|2|var
TIMEOUT sec
UPLOAD [var] file_name
WAIT [var] [constant]
- 31 -
INDEX
Accessory Mode
ANSI
Batch
BTX
Buffer
Set Font
Function Keys
GDOS
Kermit
Key Cover
Modem
Multitasking
Path
RS232
Shareware
STREAM
Terminal
VT100
VT52
XMODEM
YMODEM
YMODEM/G
ZMODEM